home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / pascal / vsafe5_6.zip / VSAFE.DOC < prev    next >
Text File  |  1990-12-22  |  14KB  |  304 lines

  1.       VSAFE.DOC                                           12/21/90
  2.  
  3.       Howdy:
  4.  
  5.       The little utility program that you have here was developed as
  6.       a cure for many types of virus programs that replicate inside
  7.       of a system by attaching themselves to executable programs in
  8.       a manner that does not render the program unusable. VSAFE and
  9.       VP will protect any v5.0 Turbo Pascal program by storing data
  10.       about the file INSIDE of the program, and actually checking
  11.       that this data is still valid every time the program is run.
  12.  
  13.       Versions for v5.5 and 6.0 of Turbo Pascal will be available
  14.       very soon, check where you found this file, or on my BBS for
  15.       these versions and also for upgrades.
  16.  
  17.       The tests are made at locations that a virus has to use when
  18.       it infects a file, and cannot be hidden from VSAFE! Once an
  19.       .EXE file is thus protected, it will not run after infection
  20.       until the program is replaced on the disk. VSAFE will even
  21.       work with most programs that have been compressed with the
  22.       new LZEXE/PKLITE utilities! I mention this, because I have
  23.       just seen programs that were compressed by PKLITE which ran
  24.       fine and caused no CRC errors at runtime - but were infected
  25.       with the Jerusalem-B virus INSIDE AND OUT!
  26.  
  27.       VSAFE will only work in its present form with programs that
  28.       are compiled under Turbo Pascal versions 5.00 thru 6.00 but
  29.       can be modified to work with all versions of Turbo Pascal.
  30.  
  31.       TO USE VSAFE:
  32.  
  33.       Using the VSAFE protection is very simple. Just place the
  34.       VSAFE.TPU file in your UNITS directory, and add its name to
  35.       a USES statement in any part of your program. That is all
  36.       you need to do to add VSAFE to your program! NO other mods
  37.       to your code are necessary!
  38.  
  39.       Next, just compile your program! That is all there is to it
  40.       for this part of the installation process. To test that VSAFE
  41.       has properly compiled, you should just run your program! You
  42.       will observe a very short delay as VSAFE tests your code, and
  43.       then you will see a message that tells you that the program
  44.       has been damaged. If this happens, VSAFE is working!
  45.  
  46.       The reason you are seeing that message is because VSAFE has
  47.       tested the program out and the values it is getting are the
  48.       defaults installed by me when I compiled the unit.
  49.  
  50.       To complete your VSAFE installation you just need to run the
  51.       VP program that you have here in the VSAFE.ZIP archive.
  52.  
  53.       NORMAL OPERATION:
  54.  
  55.       To run VP just type: VP [filespec]
  56.  
  57.       Where [filespec] is the COMPLETE path and name of the program
  58.       you wish to protect.
  59.  
  60.       Example: VP C:\TURBO\EXECS\MYPROG.EXE
  61.  
  62.       That is all you need to do for some very strong protection
  63.       against most all types of virus infection AND hacking! It is
  64.       good to know that you can safely distribute software that
  65.       cannot be blamed for causing an infection OR easily have its
  66.       code disassembled and then easily recompiled by another!
  67.  
  68.       USE WITH LZEXE/PKLITE:
  69.  
  70.       To use VSAFE with a program that is to be compressed with
  71.       either PKLITE or LZEXE is a slightly different process.
  72.       First compile your program as above, and them compress it
  73.       with your choice of either LZEXE or PKLITE.
  74.  
  75.       Next, run VP with the 'CMP' option as follows: VP [filespec] CMP
  76.  
  77.       Where [filespec] is the COMPLETE path and name of the program
  78.       you wish to protect THAT HAS JUST BEEN COMPRESSED, and CMP is
  79.       a switch to tell VP that it will be processing a program that
  80.       is to be compressed.
  81.  
  82.       Example: VP C:\TURBO\EXECS\MYPROG.EXE CMP
  83.  
  84.       VP will then create a small temporary file in the drive it was
  85.       run from, and store what it needs to know about the compressed
  86.       program.
  87.  
  88.       After this process is complete, you will have to re-compile
  89.       your program, and then run VP again WITHOUT any command line
  90.       parameters. VP will read the temporary file, and then make
  91.       the necessary adjustments to your program.
  92.  
  93.       Finally, re-compress your program with your utility, and test
  94.       it by running the program. If the process was successful, you
  95.       will not get the 'integrity compromised' message that VSAFE
  96.       generates for an infected or damaged file.
  97.  
  98.       ***
  99.  
  100.       This version of VSAFE will only test parts of the program that
  101.       a virus has to move to successfully infect the file. It also
  102.       tests the DOS reported filesize to see if it has changed, but
  103.       no tests are made other than that. To see this, you can take a
  104.       copy of a protected file and modify a byte with a sector editor
  105.       like NORTON in the area about 500-512 bytes into the file. This
  106.       should still allow your program to at least execute, and VSAFE
  107.       will reject and terminate the program. You can also play with
  108.       the data near the top of the file to see if VSAFE catches the
  109.       modifications. The number 512 is important as that is the size
  110.       of the blocks at the beginning and end of the file that VSAFE
  111.       checks for tampering. This does not seem like very much, but
  112.       it is more than enough when you consider that in order for a
  113.       virus to infect your program it needs to insert something at
  114.       the beginning of the program! And even if a virus were to do
  115.       something nasty like install itself as an internal overlay,
  116.       it still must modify this area if the infected program is to
  117.       run when executed. Some of the virus programs attach code at
  118.       the end of the file, but this gets tested too!
  119.  
  120.       In order for a virus to be able to avoid detection by VSAFE
  121.       it would be necessary for it to disassemble most of the file
  122.       it was trying to infect, and then insert itself someplace
  123.       after modifying jumps and calls throughout the program! If I
  124.       ever meet a virus that can do that, I will take up another
  125.       line of work!
  126.  
  127.       I won't be a fool and say it is impossible, but it would be an
  128.       awful lot of work to create a program that could do that to any
  129.       executable program, yet remain fast enough and small enough to
  130.       not raise immediate suspicion.
  131.  
  132.       ABOUT VSAFE:
  133.  
  134.       I wrote these programs to help solve a problem. I saw some
  135.       good people get badly screwed by infections of several .EXE
  136.       attacking viruses. It really bothered me to see these people
  137.       put in that position they because some little jerk-dirtbags
  138.       decided to have some nasty fun with their skills, so I sat
  139.       down and spent a few minutes to combat them.
  140.  
  141.       This version of VSAFE is fully capable of offering most all
  142.       Turbo Pascal programmers a very powerful measure of security
  143.       for their own programs. I hope it makes a dent in the mess!
  144.       
  145.       Although not in a position to be an industry standard like
  146.       John McAfee and his FANTASTIC series of computer security
  147.       products, I would like to do something to help. VSAFE is my
  148.       first public effort. I have some other versions that I am
  149.       now testing that are capable of providing this level of
  150.       protection for ALL executable programs, including those
  151.       not compiled with Turbo Pascal. If the interest in VSAFE
  152.       is encouraging enough, I will continue to expand on this.
  153.  
  154.       The version of VSAFE you have here has a fixed sampling
  155.       window size, and the messages are also fixed to a few
  156.       lines of copyright data, and some words about what VSAFE
  157.       is doing.
  158.  
  159.       See the last section of this hastily typed document file
  160.       for details on how to get the extended version of this
  161.       program, and also on how to license it commercially.
  162.  
  163.       DISCLAIMER AND CONDITIONS OF USE:   { I hate this part!}
  164.  
  165.       In this version, VSAFE is provided as an evaluation copy.
  166.       You may copy this file and give it to as many others as
  167.       you wish. I require that you distribute ALL of the files
  168.       AS-IS in the state that